<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Repetier-Firmware: PrintLine Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="repetier-logo-trans128.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Repetier-Firmware
   &#160;<span id="projectnumber">0.91</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_print_line.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Data Fields</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">PrintLine Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="PrintLine" -->
<p><code>#include &lt;<a class="el" href="motion_8h_source.html">motion.h</a>&gt;</code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a1d2cbe11872ed43ecf5e7698c6a3753c">areParameterUpToDate</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a133e03a70ead89a6530cfb29e84c4b23">invalidateParameter</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a8078bbbf77346f72ab52e95e7c5c94b6">setParameterUpToDate</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae9ca9bfdc8d855bf8c449f1db91c7baf">isStartSpeedFixed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab18ab9269486043849d90b27c8d0e59e">setStartSpeedFixed</a> (bool newState)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0197c6efb9afd7d6ab13b297f2df73dc">fixStartAndEndSpeed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a935def6124c31e1b948fc3f659937116">isEndSpeedFixed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a4ac3e198b5ae2f2c2c02707b5d79fadb">setEndSpeedFixed</a> (bool newState)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa1b213782c45e8e05c34360768f32131">isWarmUp</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aba0df0f31d8acaa1dd3a8618b2e178e8">getWaitForXLinesFilled</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abd0ecb7d97383e5cfc4cb495818c389e">setWaitForXLinesFilled</a> (uint8_t b)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a7a4dba3ace1ac871133b0f12839e6f4f">isExtruderForwardMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a7e07c2af0cfe7618067f785518e9e64b">block</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a009e9504e5d9ca912a7567892e0e60bf">unblock</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae6ec007d68382eb124ed25bc90ae9c17">isBlocked</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a231c85e6f3815511831cb67567d82c95">isCheckEndstops</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a581476729a31739e3faa03a9431e4a05">isNominalMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#acac9d9744a18dfb65430380ff098ab67">setNominalMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9216eeee5a910d9b97ef7fc9c51486fb">checkEndstops</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aad67d2d7fdc415a10276ef11be6a4ebb">setXMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae9f3a1556eb7d20e66bede8747f6447b">setYMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a5c2a9f33763e1c2c7f526227ad3d03fa">setZMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a72e2663eddc20d0d43265837ee7c03bd">setXYMoveFinished</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae48ce1b538c9a4d72bab89516f1ea44b">isXPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aabc1316f4405ac616dbd4d5ece65fd66">isXNegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a01f9499bddb3765edbfa3ab02d7a4717">isYPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a393df21fe03ce39f5dce37753510e369">isYNegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0bc2674212b458863e559f31692431c6">isZPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0730f709b8acdad51a60b2eee220fcdd">isZNegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#af8fa116704ec13fe8fc574016d41769a">isEPositiveMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#adbe7df66129d7bfa99d9e2ceb7457c69">isENegativeMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae4ce3dd29cb20a699d90c9fb7cc87f28">isXMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae6f2dadb0a57fe75ae2b49befd8a45eb">isYMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa38c32d9bee47e266dd198b5d1ca1102">isXOrYMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a34ddbda7b07722da0e1b93001d549a4a">isZMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a303bf057849da5f62827cfdbc2ad6326">isEMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a4833a7f801c417b392ecb5504d0a1cef">isEOnlyMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a589c1fda795565f72c8872cb8a1a389b">isNoMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a04d6b0f87d5f38101802d9ebf704e1fd">isXYZMove</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0d92e184b7728d79f2d932db5bde6c8d">isMoveOfAxis</a> (uint8_t axis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa">setMoveOfAxis</a> (uint8_t axis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a58c08ce30a6b0df067300649e37fdbba">setPositiveDirectionForAxis</a> (uint8_t axis)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a02b156fb6ea70b1a333ffad181931916">updateAdvanceSteps</a> (unsigned int v, uint8_t max_loops, bool accelerate)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a185d05cba96f5d94aee41c3d06c9c1cb">moveDecelerating</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0ff391b4272c58fb480c2d7ccb5cae34">moveAccelerating</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a1506bdf7601a311bb8a65369a470595f">isFullstepping</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ad91731df82d6fff7e14a54e1799d0240">startXStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a977d33618d886abff53e1e8bedbe7537">startYStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0dd7c3d82c092f0a9ae892557c4eacee">startZStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ad7634c34ecbb519f55ce563c68e34a35">updateStepsParameter</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3b93b1bbc75d084e92b47bbc25211f33">safeSpeed</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a1150dd94076ec18892b8d67c7d96984a">calculateMove</a> (float axis_diff[], uint8_t pathOptimize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a8805ff9aa252959d474ac0adec4388dc">logLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a65d5a0b47b70aa42878c4ddd870d6778">getWaitTicks</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aaa5de19d9ddb2912455b5d71daadd184">setWaitTicks</a> (long wait)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab108ad89fc717b8579f35975468f33c7">resetPathPlanner</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ac0f744468b329f082ba63208368e5264">hasLines</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a64ae91c7dc648d0b337d0f324276a4bf">setCurrentLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3389daad6d842f71a2ce60e7cee9b59f">removeCurrentLineForbidInterrupt</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aaf39d3ac51c339076ef1629174482a40">pushLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9989870df088bf4b9a3928c8a2ded9dc">getNextWriteLine</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a4ac503fa04c929695e63fdb2944e1dd5">computeMaxJunctionSpeed</a> (<a class="el" href="class_print_line.html">PrintLine</a> *previous, <a class="el" href="class_print_line.html">PrintLine</a> *current)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a28814f549b2b24f24dda3d9cabe87891">bresenhamStep</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a25fdee8d93b7445b19b2531646ac2bd5">waitForXFreeLines</a> (uint8_t b=1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a68ee05349131a0547059e83b6759de44">forwardPlanner</a> (uint8_t p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a438c11584123ee62c9d8393a16c17108">backwardPlanner</a> (uint8_t p, uint8_t last)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ae0e4f0562f9d7c223b6024a619205b60">updateTrapezoids</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abc890f0c9b72c63cfd69ba8acebc93d8">insertWaitMovesIfNeeded</a> (uint8_t pathOptimize, uint8_t waitExtraLines)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a5d5b134b285f04c291d3da308fce3419">queueCartesianMove</a> (uint8_t check_endstops, uint8_t pathOptimize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aec8285a6e133b08a1edaebdbc7efc48a">moveRelativeDistanceInSteps</a> (long x, long y, long z, long e, float feedrate, bool waitEnd, bool check_endstop)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a7d777929106a32402b16c98b9582e8b2">previousPlannerIndex</a> (uint8_t &amp;p)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab6846ab1a62387be9fc0a53120660580">nextPlannerIndex</a> (uint8_t &amp;p)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a5a87d2c42cc21fa0022be9e1450a6877">stepsRemaining</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Remaining steps, until move is finished.  <a href="#a5a87d2c42cc21fa0022be9e1450a6877"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a272556ffc75dd36b17dba53b9e81de88">cur</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Current printing line.  <a href="#a272556ffc75dd36b17dba53b9e81de88"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a01dcbe9b4aff4513724de52cc33c43ef">linesCount</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of lines cached 0 = nothing to do.  <a href="#a01dcbe9b4aff4513724de52cc33c43ef"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a07bea818f3a912947549699bfdef6a73">primaryAxis</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a27ac1730f3c9b0d5935ac0c406f7b9f3">flags</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a606788ac5a4df6a49dac455473a1bb73">timeInTicks</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a929492d0ab9b4ea4338f81381d08e63e">joinFlags</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa5bb967d7e0b7e9ec796f65835ee9d6e">halfStep</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">4 = disabled, 1 = halfstep, 2 = fulstep  <a href="#aa5bb967d7e0b7e9ec796f65835ee9d6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a92abda0bec7c1c978fe96f87aad18067">dir</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction of movement. 1 = X+, 2 = Y+, 4= Z+, values can be combined.  <a href="#a92abda0bec7c1c978fe96f87aad18067"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#acddb9b941799c58b09b9ba557a550ba9">delta</a> [4]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Steps we want to move.  <a href="#acddb9b941799c58b09b9ba557a550ba9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3c6de671d3ddb66984484dc28d461238">error</a> [4]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Error calculation for Bresenham algorithm.  <a href="#a3c6de671d3ddb66984484dc28d461238"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aa0076a8395b89235fd3411ef7f96bc99">speedX</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in x direction at fullInterval in mm/s.  <a href="#aa0076a8395b89235fd3411ef7f96bc99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a742025f2597ee001a8c61abea1070f0b">speedY</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in y direction at fullInterval in mm/s.  <a href="#a742025f2597ee001a8c61abea1070f0b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aec11ac0ec6a0c95d25828f3a5d38f8d3">speedZ</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in z direction at fullInterval in mm/s.  <a href="#aec11ac0ec6a0c95d25828f3a5d38f8d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab246a6f56412557306bd8525bec07765">speedE</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Speed in E direction at fullInterval in mm/s.  <a href="#ab246a6f56412557306bd8525bec07765"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#af2dda87e11a7a84a9ae816f22066d84f">fullSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Desired speed mm/s.  <a href="#af2dda87e11a7a84a9ae816f22066d84f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0009fafd27bac173d490371b1c325202">invFullSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">1.0/fullSpeed for fatser computation  <a href="#a0009fafd27bac173d490371b1c325202"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab31effe773625c44619f5de770c2596f">accelerationDistance2</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Real 2.0*distanceÜacceleration mm²/s²  <a href="#ab31effe773625c44619f5de770c2596f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a2f126b0724528257a5906804414175c3">maxJunctionSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Max. junction speed between this and next segment.  <a href="#a2f126b0724528257a5906804414175c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0976722c9e2db986c298e6de2f0a966c">startSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Staring speed in mm/s.  <a href="#a0976722c9e2db986c298e6de2f0a966c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#adefb2a3853aa8166b3fb2940d7a78622">endSpeed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Exit speed in mm/s.  <a href="#adefb2a3853aa8166b3fb2940d7a78622"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abdc3d6a5585f0a78d67b3b51fb38e618">minSpeed</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a06f14a9abd47b91465f895d5259cdc1b">distance</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a91c2da9328232ca544377f4be938288d">ticks_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a0ca91033188e4f8b4b51caac393d8fe8">fullInterval</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">interval at full speed in ticks/step.  <a href="#a0ca91033188e4f8b4b51caac393d8fe8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#afd69a1548f5674700c6ba5fd6a55914c">accelSteps</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">How much steps does it take, to reach the plateau.  <a href="#afd69a1548f5674700c6ba5fd6a55914c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9ff32dda312a8ba553474117042721d4">decelSteps</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">How much steps does it take, to reach the end speed.  <a href="#a9ff32dda312a8ba553474117042721d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#ab47d96a0400955944bcb72926bd98841">accelerationPrim</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Acceleration along primary axis.  <a href="#ab47d96a0400955944bcb72926bd98841"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a10fa1d8f9dc6cdc51e12bbd86b964b01">fAcceleration</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">accelerationPrim*262144/F_CPU  <a href="#a10fa1d8f9dc6cdc51e12bbd86b964b01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a75a36d8192c1f543a9998466dbcdc8ce">vMax</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum reached speed in steps/s.  <a href="#a75a36d8192c1f543a9998466dbcdc8ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abe84967de3e7dd73e62a911c58dda57b">vStart</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Starting speed in steps/s.  <a href="#abe84967de3e7dd73e62a911c58dda57b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#abd65545ed253eff8f6e3ca4b888e5bf2">vEnd</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">End speed in steps/s.  <a href="#abd65545ed253eff8f6e3ca4b888e5bf2"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static volatile bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#aef1b1ee43dd2cf1e9322f6c2c946c145">nlFlag</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#acad7185c78a2f5cdae2ca5c2d33e0098">linesPos</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Position for executing line movement.  <a href="#acad7185c78a2f5cdae2ca5c2d33e0098"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_print_line.html">PrintLine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a3fc3b5578c9735d1af55e62111fb9f03">lines</a> []</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cache for print moves.  <a href="#a3fc3b5578c9735d1af55e62111fb9f03"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9b6dff2988e435415f372da23ed41ea1">linesWritePos</a> = 0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Position where we write the next cached line move.  <a href="#a9b6dff2988e435415f372da23ed41ea1"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_print_line.html#a9100ab40407fd382a882168b2001f3a3">UIDisplay</a></td></tr>
</table>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a1d2cbe11872ed43ecf5e7698c6a3753c"></a><!-- doxytag: member="PrintLine::areParameterUpToDate" ref="a1d2cbe11872ed43ecf5e7698c6a3753c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a1d2cbe11872ed43ecf5e7698c6a3753c">areParameterUpToDate</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a438c11584123ee62c9d8393a16c17108"></a><!-- doxytag: member="PrintLine::backwardPlanner" ref="a438c11584123ee62c9d8393a16c17108" args="(uint8_t p, uint8_t last)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a438c11584123ee62c9d8393a16c17108">backwardPlanner</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Compute the maximum speed from the last entered move. The backwards planner traverses the moves from last to first looking at deceleration. The RHS of the accelerate/decelerate ramp.</p>
<p>start = last line inserted last = last element until we check </p>

</div>
</div>
<a class="anchor" id="a7e07c2af0cfe7618067f785518e9e64b"></a><!-- doxytag: member="PrintLine::block" ref="a7e07c2af0cfe7618067f785518e9e64b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a7e07c2af0cfe7618067f785518e9e64b">block</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a28814f549b2b24f24dda3d9cabe87891"></a><!-- doxytag: member="PrintLine::bresenhamStep" ref="a28814f549b2b24f24dda3d9cabe87891" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class_print_line.html#a28814f549b2b24f24dda3d9cabe87891">bresenhamStep</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1150dd94076ec18892b8d67c7d96984a"></a><!-- doxytag: member="PrintLine::calculateMove" ref="a1150dd94076ec18892b8d67c7d96984a" args="(float axis_diff[], uint8_t pathOptimize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a1150dd94076ec18892b8d67c7d96984a">calculateMove</a> </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>axis_diff</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pathOptimize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9216eeee5a910d9b97ef7fc9c51486fb"></a><!-- doxytag: member="PrintLine::checkEndstops" ref="a9216eeee5a910d9b97ef7fc9c51486fb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a9216eeee5a910d9b97ef7fc9c51486fb">checkEndstops</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4ac503fa04c929695e63fdb2944e1dd5"></a><!-- doxytag: member="PrintLine::computeMaxJunctionSpeed" ref="a4ac503fa04c929695e63fdb2944e1dd5" args="(PrintLine *previous, PrintLine *current)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a4ac503fa04c929695e63fdb2944e1dd5">computeMaxJunctionSpeed</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td>
          <td class="paramname"><em>previous</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_print_line.html">PrintLine</a> *&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0197c6efb9afd7d6ab13b297f2df73dc"></a><!-- doxytag: member="PrintLine::fixStartAndEndSpeed" ref="a0197c6efb9afd7d6ab13b297f2df73dc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a0197c6efb9afd7d6ab13b297f2df73dc">fixStartAndEndSpeed</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a68ee05349131a0547059e83b6759de44"></a><!-- doxytag: member="PrintLine::forwardPlanner" ref="a68ee05349131a0547059e83b6759de44" args="(uint8_t p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a68ee05349131a0547059e83b6759de44">forwardPlanner</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9989870df088bf4b9a3928c8a2ded9dc"></a><!-- doxytag: member="PrintLine::getNextWriteLine" ref="a9989870df088bf4b9a3928c8a2ded9dc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_print_line.html">PrintLine</a>* <a class="el" href="class_print_line.html#a9989870df088bf4b9a3928c8a2ded9dc">getNextWriteLine</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aba0df0f31d8acaa1dd3a8618b2e178e8"></a><!-- doxytag: member="PrintLine::getWaitForXLinesFilled" ref="aba0df0f31d8acaa1dd3a8618b2e178e8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#aba0df0f31d8acaa1dd3a8618b2e178e8">getWaitForXLinesFilled</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a65d5a0b47b70aa42878c4ddd870d6778"></a><!-- doxytag: member="PrintLine::getWaitTicks" ref="a65d5a0b47b70aa42878c4ddd870d6778" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class_print_line.html#a65d5a0b47b70aa42878c4ddd870d6778">getWaitTicks</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac0f744468b329f082ba63208368e5264"></a><!-- doxytag: member="PrintLine::hasLines" ref="ac0f744468b329f082ba63208368e5264" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool <a class="el" href="class_print_line.html#ac0f744468b329f082ba63208368e5264">hasLines</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abc890f0c9b72c63cfd69ba8acebc93d8"></a><!-- doxytag: member="PrintLine::insertWaitMovesIfNeeded" ref="abc890f0c9b72c63cfd69ba8acebc93d8" args="(uint8_t pathOptimize, uint8_t waitExtraLines)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#abc890f0c9b72c63cfd69ba8acebc93d8">insertWaitMovesIfNeeded</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pathOptimize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>waitExtraLines</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Check if move is new. If it is insert some dummy moves to allow the path optimizer to work since it does not act on the first two moves in the queue. The stepper timer will spot these moves and leave some time for processing. </p>

</div>
</div>
<a class="anchor" id="a133e03a70ead89a6530cfb29e84c4b23"></a><!-- doxytag: member="PrintLine::invalidateParameter" ref="a133e03a70ead89a6530cfb29e84c4b23" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a133e03a70ead89a6530cfb29e84c4b23">invalidateParameter</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae6ec007d68382eb124ed25bc90ae9c17"></a><!-- doxytag: member="PrintLine::isBlocked" ref="ae6ec007d68382eb124ed25bc90ae9c17" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#ae6ec007d68382eb124ed25bc90ae9c17">isBlocked</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a231c85e6f3815511831cb67567d82c95"></a><!-- doxytag: member="PrintLine::isCheckEndstops" ref="a231c85e6f3815511831cb67567d82c95" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a231c85e6f3815511831cb67567d82c95">isCheckEndstops</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a303bf057849da5f62827cfdbc2ad6326"></a><!-- doxytag: member="PrintLine::isEMove" ref="a303bf057849da5f62827cfdbc2ad6326" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a303bf057849da5f62827cfdbc2ad6326">isEMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a935def6124c31e1b948fc3f659937116"></a><!-- doxytag: member="PrintLine::isEndSpeedFixed" ref="a935def6124c31e1b948fc3f659937116" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a935def6124c31e1b948fc3f659937116">isEndSpeedFixed</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="adbe7df66129d7bfa99d9e2ceb7457c69"></a><!-- doxytag: member="PrintLine::isENegativeMove" ref="adbe7df66129d7bfa99d9e2ceb7457c69" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#adbe7df66129d7bfa99d9e2ceb7457c69">isENegativeMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4833a7f801c417b392ecb5504d0a1cef"></a><!-- doxytag: member="PrintLine::isEOnlyMove" ref="a4833a7f801c417b392ecb5504d0a1cef" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a4833a7f801c417b392ecb5504d0a1cef">isEOnlyMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af8fa116704ec13fe8fc574016d41769a"></a><!-- doxytag: member="PrintLine::isEPositiveMove" ref="af8fa116704ec13fe8fc574016d41769a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#af8fa116704ec13fe8fc574016d41769a">isEPositiveMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7a4dba3ace1ac871133b0f12839e6f4f"></a><!-- doxytag: member="PrintLine::isExtruderForwardMove" ref="a7a4dba3ace1ac871133b0f12839e6f4f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a7a4dba3ace1ac871133b0f12839e6f4f">isExtruderForwardMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1506bdf7601a311bb8a65369a470595f"></a><!-- doxytag: member="PrintLine::isFullstepping" ref="a1506bdf7601a311bb8a65369a470595f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a1506bdf7601a311bb8a65369a470595f">isFullstepping</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0d92e184b7728d79f2d932db5bde6c8d"></a><!-- doxytag: member="PrintLine::isMoveOfAxis" ref="a0d92e184b7728d79f2d932db5bde6c8d" args="(uint8_t axis)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a0d92e184b7728d79f2d932db5bde6c8d">isMoveOfAxis</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>axis</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a581476729a31739e3faa03a9431e4a05"></a><!-- doxytag: member="PrintLine::isNominalMove" ref="a581476729a31739e3faa03a9431e4a05" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a581476729a31739e3faa03a9431e4a05">isNominalMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a589c1fda795565f72c8872cb8a1a389b"></a><!-- doxytag: member="PrintLine::isNoMove" ref="a589c1fda795565f72c8872cb8a1a389b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a589c1fda795565f72c8872cb8a1a389b">isNoMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae9ca9bfdc8d855bf8c449f1db91c7baf"></a><!-- doxytag: member="PrintLine::isStartSpeedFixed" ref="ae9ca9bfdc8d855bf8c449f1db91c7baf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#ae9ca9bfdc8d855bf8c449f1db91c7baf">isStartSpeedFixed</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa1b213782c45e8e05c34360768f32131"></a><!-- doxytag: member="PrintLine::isWarmUp" ref="aa1b213782c45e8e05c34360768f32131" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#aa1b213782c45e8e05c34360768f32131">isWarmUp</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae4ce3dd29cb20a699d90c9fb7cc87f28"></a><!-- doxytag: member="PrintLine::isXMove" ref="ae4ce3dd29cb20a699d90c9fb7cc87f28" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#ae4ce3dd29cb20a699d90c9fb7cc87f28">isXMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aabc1316f4405ac616dbd4d5ece65fd66"></a><!-- doxytag: member="PrintLine::isXNegativeMove" ref="aabc1316f4405ac616dbd4d5ece65fd66" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#aabc1316f4405ac616dbd4d5ece65fd66">isXNegativeMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa38c32d9bee47e266dd198b5d1ca1102"></a><!-- doxytag: member="PrintLine::isXOrYMove" ref="aa38c32d9bee47e266dd198b5d1ca1102" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#aa38c32d9bee47e266dd198b5d1ca1102">isXOrYMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae48ce1b538c9a4d72bab89516f1ea44b"></a><!-- doxytag: member="PrintLine::isXPositiveMove" ref="ae48ce1b538c9a4d72bab89516f1ea44b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#ae48ce1b538c9a4d72bab89516f1ea44b">isXPositiveMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a04d6b0f87d5f38101802d9ebf704e1fd"></a><!-- doxytag: member="PrintLine::isXYZMove" ref="a04d6b0f87d5f38101802d9ebf704e1fd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a04d6b0f87d5f38101802d9ebf704e1fd">isXYZMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae6f2dadb0a57fe75ae2b49befd8a45eb"></a><!-- doxytag: member="PrintLine::isYMove" ref="ae6f2dadb0a57fe75ae2b49befd8a45eb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#ae6f2dadb0a57fe75ae2b49befd8a45eb">isYMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a393df21fe03ce39f5dce37753510e369"></a><!-- doxytag: member="PrintLine::isYNegativeMove" ref="a393df21fe03ce39f5dce37753510e369" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a393df21fe03ce39f5dce37753510e369">isYNegativeMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a01f9499bddb3765edbfa3ab02d7a4717"></a><!-- doxytag: member="PrintLine::isYPositiveMove" ref="a01f9499bddb3765edbfa3ab02d7a4717" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a01f9499bddb3765edbfa3ab02d7a4717">isYPositiveMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a34ddbda7b07722da0e1b93001d549a4a"></a><!-- doxytag: member="PrintLine::isZMove" ref="a34ddbda7b07722da0e1b93001d549a4a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a34ddbda7b07722da0e1b93001d549a4a">isZMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0730f709b8acdad51a60b2eee220fcdd"></a><!-- doxytag: member="PrintLine::isZNegativeMove" ref="a0730f709b8acdad51a60b2eee220fcdd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a0730f709b8acdad51a60b2eee220fcdd">isZNegativeMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0bc2674212b458863e559f31692431c6"></a><!-- doxytag: member="PrintLine::isZPositiveMove" ref="a0bc2674212b458863e559f31692431c6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a0bc2674212b458863e559f31692431c6">isZPositiveMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8805ff9aa252959d474ac0adec4388dc"></a><!-- doxytag: member="PrintLine::logLine" ref="a8805ff9aa252959d474ac0adec4388dc" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a8805ff9aa252959d474ac0adec4388dc">logLine</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0ff391b4272c58fb480c2d7ccb5cae34"></a><!-- doxytag: member="PrintLine::moveAccelerating" ref="a0ff391b4272c58fb480c2d7ccb5cae34" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a0ff391b4272c58fb480c2d7ccb5cae34">moveAccelerating</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a185d05cba96f5d94aee41c3d06c9c1cb"></a><!-- doxytag: member="PrintLine::moveDecelerating" ref="a185d05cba96f5d94aee41c3d06c9c1cb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a185d05cba96f5d94aee41c3d06c9c1cb">moveDecelerating</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aec8285a6e133b08a1edaebdbc7efc48a"></a><!-- doxytag: member="PrintLine::moveRelativeDistanceInSteps" ref="aec8285a6e133b08a1edaebdbc7efc48a" args="(long x, long y, long z, long e, float feedrate, bool waitEnd, bool check_endstop)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#aec8285a6e133b08a1edaebdbc7efc48a">moveRelativeDistanceInSteps</a> </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>feedrate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>waitEnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>checkEndstop</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Move printer the given number of steps. Puts the move into the queue. Used by e.g. homing commands. </p>

</div>
</div>
<a class="anchor" id="ab6846ab1a62387be9fc0a53120660580"></a><!-- doxytag: member="PrintLine::nextPlannerIndex" ref="ab6846ab1a62387be9fc0a53120660580" args="(uint8_t &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_print_line.html#ab6846ab1a62387be9fc0a53120660580">nextPlannerIndex</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7d777929106a32402b16c98b9582e8b2"></a><!-- doxytag: member="PrintLine::previousPlannerIndex" ref="a7d777929106a32402b16c98b9582e8b2" args="(uint8_t &amp;p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_print_line.html#a7d777929106a32402b16c98b9582e8b2">previousPlannerIndex</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aaf39d3ac51c339076ef1629174482a40"></a><!-- doxytag: member="PrintLine::pushLine" ref="aaf39d3ac51c339076ef1629174482a40" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_print_line.html#aaf39d3ac51c339076ef1629174482a40">pushLine</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5d5b134b285f04c291d3da308fce3419"></a><!-- doxytag: member="PrintLine::queueCartesianMove" ref="a5d5b134b285f04c291d3da308fce3419" args="(uint8_t check_endstops, uint8_t pathOptimize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a5d5b134b285f04c291d3da308fce3419">queueCartesianMove</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>check_endstops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>pathOptimize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Put a move to the current destination coordinates into the movement cache. If the cache is full, the method will wait, until a place gets free. During wait communication and temperature control is enabled. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">check_endstops</td><td>Read endstop during move. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3389daad6d842f71a2ce60e7cee9b59f"></a><!-- doxytag: member="PrintLine::removeCurrentLineForbidInterrupt" ref="a3389daad6d842f71a2ce60e7cee9b59f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_print_line.html#a3389daad6d842f71a2ce60e7cee9b59f">removeCurrentLineForbidInterrupt</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab108ad89fc717b8579f35975468f33c7"></a><!-- doxytag: member="PrintLine::resetPathPlanner" ref="ab108ad89fc717b8579f35975468f33c7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_print_line.html#ab108ad89fc717b8579f35975468f33c7">resetPathPlanner</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3b93b1bbc75d084e92b47bbc25211f33"></a><!-- doxytag: member="PrintLine::safeSpeed" ref="a3b93b1bbc75d084e92b47bbc25211f33" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#a3b93b1bbc75d084e92b47bbc25211f33">safeSpeed</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a64ae91c7dc648d0b337d0f324276a4bf"></a><!-- doxytag: member="PrintLine::setCurrentLine" ref="a64ae91c7dc648d0b337d0f324276a4bf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="class_print_line.html#a64ae91c7dc648d0b337d0f324276a4bf">setCurrentLine</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4ac3e198b5ae2f2c2c02707b5d79fadb"></a><!-- doxytag: member="PrintLine::setEndSpeedFixed" ref="a4ac3e198b5ae2f2c2c02707b5d79fadb" args="(bool newState)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a4ac3e198b5ae2f2c2c02707b5d79fadb">setEndSpeedFixed</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>newState</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa"></a><!-- doxytag: member="PrintLine::setMoveOfAxis" ref="a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa" args="(uint8_t axis)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a6cc01d8dcc37c4fa8fdaa67b3cbaa9aa">setMoveOfAxis</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>axis</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="acac9d9744a18dfb65430380ff098ab67"></a><!-- doxytag: member="PrintLine::setNominalMove" ref="acac9d9744a18dfb65430380ff098ab67" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#acac9d9744a18dfb65430380ff098ab67">setNominalMove</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8078bbbf77346f72ab52e95e7c5c94b6"></a><!-- doxytag: member="PrintLine::setParameterUpToDate" ref="a8078bbbf77346f72ab52e95e7c5c94b6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a8078bbbf77346f72ab52e95e7c5c94b6">setParameterUpToDate</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a58c08ce30a6b0df067300649e37fdbba"></a><!-- doxytag: member="PrintLine::setPositiveDirectionForAxis" ref="a58c08ce30a6b0df067300649e37fdbba" args="(uint8_t axis)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a58c08ce30a6b0df067300649e37fdbba">setPositiveDirectionForAxis</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>axis</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab18ab9269486043849d90b27c8d0e59e"></a><!-- doxytag: member="PrintLine::setStartSpeedFixed" ref="ab18ab9269486043849d90b27c8d0e59e" args="(bool newState)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#ab18ab9269486043849d90b27c8d0e59e">setStartSpeedFixed</a> </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>newState</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abd0ecb7d97383e5cfc4cb495818c389e"></a><!-- doxytag: member="PrintLine::setWaitForXLinesFilled" ref="abd0ecb7d97383e5cfc4cb495818c389e" args="(uint8_t b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#abd0ecb7d97383e5cfc4cb495818c389e">setWaitForXLinesFilled</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>b</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aaa5de19d9ddb2912455b5d71daadd184"></a><!-- doxytag: member="PrintLine::setWaitTicks" ref="aaa5de19d9ddb2912455b5d71daadd184" args="(long wait)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#aaa5de19d9ddb2912455b5d71daadd184">setWaitTicks</a> </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>wait</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aad67d2d7fdc415a10276ef11be6a4ebb"></a><!-- doxytag: member="PrintLine::setXMoveFinished" ref="aad67d2d7fdc415a10276ef11be6a4ebb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#aad67d2d7fdc415a10276ef11be6a4ebb">setXMoveFinished</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a72e2663eddc20d0d43265837ee7c03bd"></a><!-- doxytag: member="PrintLine::setXYMoveFinished" ref="a72e2663eddc20d0d43265837ee7c03bd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a72e2663eddc20d0d43265837ee7c03bd">setXYMoveFinished</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae9f3a1556eb7d20e66bede8747f6447b"></a><!-- doxytag: member="PrintLine::setYMoveFinished" ref="ae9f3a1556eb7d20e66bede8747f6447b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#ae9f3a1556eb7d20e66bede8747f6447b">setYMoveFinished</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5c2a9f33763e1c2c7f526227ad3d03fa"></a><!-- doxytag: member="PrintLine::setZMoveFinished" ref="a5c2a9f33763e1c2c7f526227ad3d03fa" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a5c2a9f33763e1c2c7f526227ad3d03fa">setZMoveFinished</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad91731df82d6fff7e14a54e1799d0240"></a><!-- doxytag: member="PrintLine::startXStep" ref="ad91731df82d6fff7e14a54e1799d0240" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#ad91731df82d6fff7e14a54e1799d0240">startXStep</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a977d33618d886abff53e1e8bedbe7537"></a><!-- doxytag: member="PrintLine::startYStep" ref="a977d33618d886abff53e1e8bedbe7537" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="class_print_line.html#a977d33618d886abff53e1e8bedbe7537">startYStep</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0dd7c3d82c092f0a9ae892557c4eacee"></a><!-- doxytag: member="PrintLine::startZStep" ref="a0dd7c3d82c092f0a9ae892557c4eacee" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a0dd7c3d82c092f0a9ae892557c4eacee">startZStep</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a009e9504e5d9ca912a7567892e0e60bf"></a><!-- doxytag: member="PrintLine::unblock" ref="a009e9504e5d9ca912a7567892e0e60bf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a009e9504e5d9ca912a7567892e0e60bf">unblock</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a02b156fb6ea70b1a333ffad181931916"></a><!-- doxytag: member="PrintLine::updateAdvanceSteps" ref="a02b156fb6ea70b1a333ffad181931916" args="(unsigned int v, uint8_t max_loops, bool accelerate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a02b156fb6ea70b1a333ffad181931916">updateAdvanceSteps</a> </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>max_loops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>accelerate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad7634c34ecbb519f55ce563c68e34a35"></a><!-- doxytag: member="PrintLine::updateStepsParameter" ref="ad7634c34ecbb519f55ce563c68e34a35" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#ad7634c34ecbb519f55ce563c68e34a35">updateStepsParameter</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Update parameter used by updateTrapezoids</p>
<p>Computes the acceleration/decelleration steps and advanced parameter associated. </p>

</div>
</div>
<a class="anchor" id="ae0e4f0562f9d7c223b6024a619205b60"></a><!-- doxytag: member="PrintLine::updateTrapezoids" ref="ae0e4f0562f9d7c223b6024a619205b60" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#ae0e4f0562f9d7c223b6024a619205b60">updateTrapezoids</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is the path planner.</p>
<p>It goes from the last entry and tries to increase the end speed of previous moves in a fashion that the maximum jerk is never exceeded. If a segment with reached maximum speed is met, the planner stops. Everything left from this is already optimal from previous updates. The first 2 entries in the queue are not checked. The first is the one that is already in print and the following will likely become active.</p>
<p>The method is called before lines_count is increased! </p>

</div>
</div>
<a class="anchor" id="a25fdee8d93b7445b19b2531646ac2bd5"></a><!-- doxytag: member="PrintLine::waitForXFreeLines" ref="a25fdee8d93b7445b19b2531646ac2bd5" args="(uint8_t b=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_print_line.html#a25fdee8d93b7445b19b2531646ac2bd5">waitForXFreeLines</a> </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>b</em> = <code>1</code></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a9100ab40407fd382a882168b2001f3a3"></a><!-- doxytag: member="PrintLine::UIDisplay" ref="a9100ab40407fd382a882168b2001f3a3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="class_u_i_display.html">UIDisplay</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="ab31effe773625c44619f5de770c2596f"></a><!-- doxytag: member="PrintLine::accelerationDistance2" ref="ab31effe773625c44619f5de770c2596f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#ab31effe773625c44619f5de770c2596f">accelerationDistance2</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Real 2.0*distanceÜacceleration mm²/s² </p>

</div>
</div>
<a class="anchor" id="ab47d96a0400955944bcb72926bd98841"></a><!-- doxytag: member="PrintLine::accelerationPrim" ref="ab47d96a0400955944bcb72926bd98841" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="class_print_line.html#ab47d96a0400955944bcb72926bd98841">accelerationPrim</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Acceleration along primary axis. </p>

</div>
</div>
<a class="anchor" id="afd69a1548f5674700c6ba5fd6a55914c"></a><!-- doxytag: member="PrintLine::accelSteps" ref="afd69a1548f5674700c6ba5fd6a55914c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="class_print_line.html#afd69a1548f5674700c6ba5fd6a55914c">accelSteps</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>How much steps does it take, to reach the plateau. </p>

</div>
</div>
<a class="anchor" id="a272556ffc75dd36b17dba53b9e81de88"></a><!-- doxytag: member="PrintLine::cur" ref="a272556ffc75dd36b17dba53b9e81de88" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_print_line.html">PrintLine</a> * <a class="el" href="class_print_line.html#a272556ffc75dd36b17dba53b9e81de88">cur</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Current printing line. </p>

</div>
</div>
<a class="anchor" id="a9ff32dda312a8ba553474117042721d4"></a><!-- doxytag: member="PrintLine::decelSteps" ref="a9ff32dda312a8ba553474117042721d4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="class_print_line.html#a9ff32dda312a8ba553474117042721d4">decelSteps</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>How much steps does it take, to reach the end speed. </p>

</div>
</div>
<a class="anchor" id="acddb9b941799c58b09b9ba557a550ba9"></a><!-- doxytag: member="PrintLine::delta" ref="acddb9b941799c58b09b9ba557a550ba9" args="[4]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class_print_line.html#acddb9b941799c58b09b9ba557a550ba9">delta</a>[4]<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Steps we want to move. </p>

</div>
</div>
<a class="anchor" id="a92abda0bec7c1c978fe96f87aad18067"></a><!-- doxytag: member="PrintLine::dir" ref="a92abda0bec7c1c978fe96f87aad18067" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#a92abda0bec7c1c978fe96f87aad18067">dir</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Direction of movement. 1 = X+, 2 = Y+, 4= Z+, values can be combined. </p>

</div>
</div>
<a class="anchor" id="a06f14a9abd47b91465f895d5259cdc1b"></a><!-- doxytag: member="PrintLine::distance" ref="a06f14a9abd47b91465f895d5259cdc1b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#a06f14a9abd47b91465f895d5259cdc1b">distance</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="adefb2a3853aa8166b3fb2940d7a78622"></a><!-- doxytag: member="PrintLine::endSpeed" ref="adefb2a3853aa8166b3fb2940d7a78622" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#adefb2a3853aa8166b3fb2940d7a78622">endSpeed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Exit speed in mm/s. </p>

</div>
</div>
<a class="anchor" id="a3c6de671d3ddb66984484dc28d461238"></a><!-- doxytag: member="PrintLine::error" ref="a3c6de671d3ddb66984484dc28d461238" args="[4]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class_print_line.html#a3c6de671d3ddb66984484dc28d461238">error</a>[4]<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Error calculation for Bresenham algorithm. </p>

</div>
</div>
<a class="anchor" id="a10fa1d8f9dc6cdc51e12bbd86b964b01"></a><!-- doxytag: member="PrintLine::fAcceleration" ref="a10fa1d8f9dc6cdc51e12bbd86b964b01" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned long <a class="el" href="class_print_line.html#a10fa1d8f9dc6cdc51e12bbd86b964b01">fAcceleration</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>accelerationPrim*262144/F_CPU </p>

</div>
</div>
<a class="anchor" id="a27ac1730f3c9b0d5935ac0c406f7b9f3"></a><!-- doxytag: member="PrintLine::flags" ref="a27ac1730f3c9b0d5935ac0c406f7b9f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile uint8_t <a class="el" href="class_print_line.html#a27ac1730f3c9b0d5935ac0c406f7b9f3">flags</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0ca91033188e4f8b4b51caac393d8fe8"></a><!-- doxytag: member="PrintLine::fullInterval" ref="a0ca91033188e4f8b4b51caac393d8fe8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_h_a_l_8h.html#a91c2da9328232ca544377f4be938288d">ticks_t</a> <a class="el" href="class_print_line.html#a0ca91033188e4f8b4b51caac393d8fe8">fullInterval</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>interval at full speed in ticks/step. </p>

</div>
</div>
<a class="anchor" id="af2dda87e11a7a84a9ae816f22066d84f"></a><!-- doxytag: member="PrintLine::fullSpeed" ref="af2dda87e11a7a84a9ae816f22066d84f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#af2dda87e11a7a84a9ae816f22066d84f">fullSpeed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Desired speed mm/s. </p>

</div>
</div>
<a class="anchor" id="aa5bb967d7e0b7e9ec796f65835ee9d6e"></a><!-- doxytag: member="PrintLine::halfStep" ref="aa5bb967d7e0b7e9ec796f65835ee9d6e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#aa5bb967d7e0b7e9ec796f65835ee9d6e">halfStep</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>4 = disabled, 1 = halfstep, 2 = fulstep </p>

</div>
</div>
<a class="anchor" id="a0009fafd27bac173d490371b1c325202"></a><!-- doxytag: member="PrintLine::invFullSpeed" ref="a0009fafd27bac173d490371b1c325202" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#a0009fafd27bac173d490371b1c325202">invFullSpeed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>1.0/fullSpeed for fatser computation </p>

</div>
</div>
<a class="anchor" id="a929492d0ab9b4ea4338f81381d08e63e"></a><!-- doxytag: member="PrintLine::joinFlags" ref="a929492d0ab9b4ea4338f81381d08e63e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#a929492d0ab9b4ea4338f81381d08e63e">joinFlags</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3fc3b5578c9735d1af55e62111fb9f03"></a><!-- doxytag: member="PrintLine::lines" ref="a3fc3b5578c9735d1af55e62111fb9f03" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_print_line.html">PrintLine</a> <a class="el" href="class_print_line.html#a3fc3b5578c9735d1af55e62111fb9f03">lines</a><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cache for print moves. </p>

</div>
</div>
<a class="anchor" id="a01dcbe9b4aff4513724de52cc33c43ef"></a><!-- doxytag: member="PrintLine::linesCount" ref="a01dcbe9b4aff4513724de52cc33c43ef" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile uint8_t <a class="el" href="class_print_line.html#a01dcbe9b4aff4513724de52cc33c43ef">linesCount</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Number of lines cached 0 = nothing to do. </p>

</div>
</div>
<a class="anchor" id="acad7185c78a2f5cdae2ca5c2d33e0098"></a><!-- doxytag: member="PrintLine::linesPos" ref="acad7185c78a2f5cdae2ca5c2d33e0098" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#acad7185c78a2f5cdae2ca5c2d33e0098">linesPos</a> = 0<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Position for executing line movement. </p>

</div>
</div>
<a class="anchor" id="a9b6dff2988e435415f372da23ed41ea1"></a><!-- doxytag: member="PrintLine::linesWritePos" ref="a9b6dff2988e435415f372da23ed41ea1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#a9b6dff2988e435415f372da23ed41ea1">linesWritePos</a> = 0<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Position where we write the next cached line move. </p>

</div>
</div>
<a class="anchor" id="a2f126b0724528257a5906804414175c3"></a><!-- doxytag: member="PrintLine::maxJunctionSpeed" ref="a2f126b0724528257a5906804414175c3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#a2f126b0724528257a5906804414175c3">maxJunctionSpeed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Max. junction speed between this and next segment. </p>

</div>
</div>
<a class="anchor" id="abdc3d6a5585f0a78d67b3b51fb38e618"></a><!-- doxytag: member="PrintLine::minSpeed" ref="abdc3d6a5585f0a78d67b3b51fb38e618" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#abdc3d6a5585f0a78d67b3b51fb38e618">minSpeed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aef1b1ee43dd2cf1e9322f6c2c946c145"></a><!-- doxytag: member="PrintLine::nlFlag" ref="aef1b1ee43dd2cf1e9322f6c2c946c145" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">volatile bool <a class="el" href="class_print_line.html#aef1b1ee43dd2cf1e9322f6c2c946c145">nlFlag</a><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a07bea818f3a912947549699bfdef6a73"></a><!-- doxytag: member="PrintLine::primaryAxis" ref="a07bea818f3a912947549699bfdef6a73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="class_print_line.html#a07bea818f3a912947549699bfdef6a73">primaryAxis</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab246a6f56412557306bd8525bec07765"></a><!-- doxytag: member="PrintLine::speedE" ref="ab246a6f56412557306bd8525bec07765" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#ab246a6f56412557306bd8525bec07765">speedE</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Speed in E direction at fullInterval in mm/s. </p>

</div>
</div>
<a class="anchor" id="aa0076a8395b89235fd3411ef7f96bc99"></a><!-- doxytag: member="PrintLine::speedX" ref="aa0076a8395b89235fd3411ef7f96bc99" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#aa0076a8395b89235fd3411ef7f96bc99">speedX</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Speed in x direction at fullInterval in mm/s. </p>

</div>
</div>
<a class="anchor" id="a742025f2597ee001a8c61abea1070f0b"></a><!-- doxytag: member="PrintLine::speedY" ref="a742025f2597ee001a8c61abea1070f0b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#a742025f2597ee001a8c61abea1070f0b">speedY</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Speed in y direction at fullInterval in mm/s. </p>

</div>
</div>
<a class="anchor" id="aec11ac0ec6a0c95d25828f3a5d38f8d3"></a><!-- doxytag: member="PrintLine::speedZ" ref="aec11ac0ec6a0c95d25828f3a5d38f8d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#aec11ac0ec6a0c95d25828f3a5d38f8d3">speedZ</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Speed in z direction at fullInterval in mm/s. </p>

</div>
</div>
<a class="anchor" id="a0976722c9e2db986c298e6de2f0a966c"></a><!-- doxytag: member="PrintLine::startSpeed" ref="a0976722c9e2db986c298e6de2f0a966c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="class_print_line.html#a0976722c9e2db986c298e6de2f0a966c">startSpeed</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Staring speed in mm/s. </p>

</div>
</div>
<a class="anchor" id="a5a87d2c42cc21fa0022be9e1450a6877"></a><!-- doxytag: member="PrintLine::stepsRemaining" ref="a5a87d2c42cc21fa0022be9e1450a6877" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class_print_line.html#a5a87d2c42cc21fa0022be9e1450a6877">stepsRemaining</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remaining steps, until move is finished. </p>

</div>
</div>
<a class="anchor" id="a606788ac5a4df6a49dac455473a1bb73"></a><!-- doxytag: member="PrintLine::timeInTicks" ref="a606788ac5a4df6a49dac455473a1bb73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="class_print_line.html#a606788ac5a4df6a49dac455473a1bb73">timeInTicks</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abd65545ed253eff8f6e3ca4b888e5bf2"></a><!-- doxytag: member="PrintLine::vEnd" ref="abd65545ed253eff8f6e3ca4b888e5bf2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a> <a class="el" href="class_print_line.html#abd65545ed253eff8f6e3ca4b888e5bf2">vEnd</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>End speed in steps/s. </p>

</div>
</div>
<a class="anchor" id="a75a36d8192c1f543a9998466dbcdc8ce"></a><!-- doxytag: member="PrintLine::vMax" ref="a75a36d8192c1f543a9998466dbcdc8ce" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a> <a class="el" href="class_print_line.html#a75a36d8192c1f543a9998466dbcdc8ce">vMax</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maximum reached speed in steps/s. </p>

</div>
</div>
<a class="anchor" id="abe84967de3e7dd73e62a911c58dda57b"></a><!-- doxytag: member="PrintLine::vStart" ref="abe84967de3e7dd73e62a911c58dda57b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a> <a class="el" href="class_print_line.html#abe84967de3e7dd73e62a911c58dda57b">vStart</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Starting speed in steps/s. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/ArduinoAVR/Repetier/<a class="el" href="motion_8h_source.html">motion.h</a></li>
<li>src/ArduinoAVR/Repetier/<a class="el" href="motion_8cpp.html">motion.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_print_line.html">PrintLine</a>      </li>

    <li class="footer">Generated on Mon Dec 30 2013 18:53:03 for Repetier-Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
